package com.itheima.register.service;

import com.itheima.register.dao.UserMapper;
import com.itheima.register.pojo.User;
import com.itheima.register.util.SessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;

public class UserService {
    //用户注册业务 :   1 代表用户注册成功  2 用户已被注册 3 代表没有输入用户名和密码
    public int registerUser(User user) {
        //判断用户是否存在
        if (user == null) {
            return 3;
        }
        if(user.getUsername().equals("")||user.getPassword().equals("")){
            return 3;
        }
        //获取会话对象
        SqlSession sqlSession = SessionFactoryUtils.getSession();
        //通过会话对象获得代理类对象
        UserMapper usermapper = sqlSession.getMapper(UserMapper.class);
        //通过代理类对象调用查询方法
        User user1 = usermapper.findUserByName(user.getUsername());

        //判断user1是否为空
        if (user1==null) {
            //说明用户不存在,可以注册
            int result = usermapper.addUser(user);
            //判断结果是否大于0
            if(result>0){
                //提交事务
                sqlSession.commit();
                return 1;
            }

        }
        return  2;
    }


    //用户登录业务
    public boolean checkUser(User user) {
        //判断传过来的user对象是否存在
        if (user == null) {
            return false;
        }
        //获取会话对象
        SqlSession sqlSession = SessionFactoryUtils.getSession();
        //通过会话对象获得代理类对象
        UserMapper usermapper = sqlSession.getMapper(UserMapper.class);
        //传入参数获得对象
        User user1 = usermapper.findUserByNameAndPwd(user.getUsername(), user.getPassword());
        //释放资源
        sqlSession.close();

        //判断对象是否存在,存在返回true,不存在返回false
        if (user1 != null) {
            return true;
        }
        //否则,返回false
        return false;
    }


}
